function mudatopico(valor)
{
    tamanho=document.formupload.subtopico.length;
    for (i=tamanho-1; i >= 0; i--)
    {
        document.formupload.subtopico[i]=null;
    }
    if (valor.selectedIndex == 0)
    {
        document.formupload.subtopico[0] = new Option("Sistema de Ponto Flutuante","pto_sist");
        document.formupload.subtopico[1] = new Option("Soma","pto_soma");
        document.formupload.subtopico[2] = new Option("Subtracao","pto_subt");
        document.formupload.subtopico[3] = new Option("Multiplicacao","pto_mult");
        document.formupload.subtopico[4] = new Option("Divisao","pto_divi");
    }
    if (valor.selectedIndex == 1)
    {
        document.formupload.subtopico[0] = new Option("Soma","mat_soma");
        document.formupload.subtopico[1] = new Option("Multiplicacao","mat_mult");
        document.formupload.subtopico[2] = new Option("Transposta","mat_tran");
        document.formupload.subtopico[3] = new Option("Determinante","mat_dete");
        document.formupload.subtopico[4] = new Option("Inversa","mat_inve");
        document.formupload.subtopico[5] = new Option("Decomposicao de Matrizes","mat_deco");
        document.formupload.subtopico[6] = new Option("Matrizes Definidas Positivas","mat_defi");
    }
    if (valor.selectedIndex == 2)
    {
        document.formupload.subtopico[0] = new Option("Metodos Diretos - Eliminacao de Gauss - Sem pivoteamento","seal_gaus1");
        document.formupload.subtopico[1] = new Option("Metodos Diretos - Eliminacao de Gauss - Pivoteamento parcial","seal_gaus2");
        document.formupload.subtopico[2] = new Option("Metodos Diretos - Eliminacao de Gauss - Pivoteamento total","seal_gaus3");
        document.formupload.subtopico[3] = new Option("Metodos Diretos - Decomposicao LU","seal_deco");
        document.formupload.subtopico[4] = new Option("Metodos Diretos - Cholesky","seal_chol");
        document.formupload.subtopico[5] = new Option("Metodos Iterativos - Jacobi","seal_jaco");
        document.formupload.subtopico[6] = new Option("Metodos Iterativos - Gauss Seidel","seal_seid");
    }
    if (valor.selectedIndex == 3)
    {
        document.formupload.subtopico[0] = new Option("Lagrange","inte_lagr");
        document.formupload.subtopico[1] = new Option("Newton","inte_newt");
        document.formupload.subtopico[2] = new Option("Splines Cubicos","inte_spli");
    }
    if (valor.selectedIndex == 4)
    {
        document.formupload.subtopico[0] = new Option("Minimos quadrados","ajda_mini");
    }
    if (valor.selectedIndex == 5)
    {
        document.formupload.subtopico[0] = new Option("Metodo da Bisseccao","reql_biss");
        document.formupload.subtopico[1] = new Option("Metodo da Secante","reql_seca");
        document.formupload.subtopico[2] = new Option("Metodo de Newton","reql_newt");
    }
    if (valor.selectedIndex == 6)
    {
        document.formupload.subtopico[0] = new Option("Metodo de Newton","seql_newt");
    }
    if (valor.selectedIndex == 7)
    {
        document.formupload.subtopico[0] = new Option("Derivacao numerica - Diferenca central","intd_dife");
        document.formupload.subtopico[1] = new Option("Integracao numerica - Metodo de Richardson","intd_rich");
        document.formupload.subtopico[2] = new Option("Integracao numerica - Metodo de Romberg","intd_romb");
        document.formupload.subtopico[3] = new Option("Integracao numerica - Metodo de Simpson","intd_simp");
        document.formupload.subtopico[4] = new Option("Integracao numerica - Metodo do Trapezio","intd_trap");
    }
}